package com.indexingsystem.boss.admin.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.indexingsystem.boss.entity.UserRole;

public interface UserRoleMapper {
	int deleteUserRoleByIdBatch(@Param("list") List<String> list);

	// /**
	// * 批量删除角色用户关系.
	// * @param userRoleId
	// * @return
	// */
	// int deleteBatchUserRoleIdOrUserId(UserRole userRole);

	int deleteByPrimaryKey(String userRoleId);

	int insert(UserRole record);

	int insertSelective(UserRole record);

	List<UserRole> selectUserRoleList();

	UserRole selectByPrimaryKey(String userRoleId);

	int updateByPrimaryKeySelective(UserRole record);

	int updateByPrimaryKey(UserRole record);
	
	
	/**
	 * 通过用户id集合批量获取用户角色数据包。
	 * @param list
	 * @return
	 */
	List<UserRole> getUserRoleListByUserIdList(@Param("list") List<String> list);

	/**
	 * 通过角色id查询用户列表.
	 * 
	 * @param roleId
	 * @return
	 */
	List<UserRole> selectUserListByRoleId(String roleId);

	/**
	 * 获取角色包含用户总列表总数.
	 * 
	 * @return
	 */
	Integer getUserRoleListCount(String roleId);

	/**
	 * 批量新增用户角色关系信息.
	 * 
	 * @param userRoleList
	 * @return
	 */
	int addUserRolesBatch(@Param("list") List<UserRole> list);

	/**
	 * 批量删除用户角色关系信息.
	 * 
	 * @param userRoleIdList
	 * @return
	 */
	int deleteUserRolesBatch(@Param("list") List<String> list);

	/**
	 * 通过用户id删除用户角色关系.
	 * 
	 * @param userId
	 * @return
	 */
	int deleteUserRoleInfoByUserId(@Param("list") List<String> list);
	
	UserRole selectByPrimaryUserId(String userId);
	
	List<UserRole> getUserRoleList(String userId);

	List<UserRole> getDhUserRoleList(String userId);
}